Cloud integration refers to the combination of tools, technologies and practices an organization may use to connect applications, systems, data, and entire information technology environments, where at least one party is cloud-based. For example, such integration may occur between different cloud providers, platforms and applications, as well as between cloud-hosted and local or on-premises resources. A common form of cloud integration is data integration, which aims to share or synchronize data between data stores. Another type of cloud integration is application integration, where two or more applications can share states, requests, commands and other mechanisms to implement processes.
In a cloud environment, multiple virtual machines may be assigned to an organization and may be available to receive data as a result of the integration (e.g., data integration or application integration). Often a single virtual machine receives the data, however, so as not to duplicate the data on all of the virtual machines. Typically, one of the virtual machines receives a lock in a random process that may prevent the other virtual machines from receiving the data. When a single virtual machine receives data from multiple sources at a same or similar time, this may result in slower processing of the data, and may result in a crash of the virtual machine due to limited availability of resources (Memory and CPU).
Systems and methods are desired which support efficient selection of the virtual machine to receive the lock.